package com.cskaoyan.javase.object._0introduction;

/**
 * Object类的引入
 * Object类，虽然我们没有详细了解，但我们知道了：Object类是所有类继承层次的祖先类，Java中所有类（包括数组）都直接或者间接的继承自该类，都实现了该类的方法。
 * 自定义类时，我们并不需要特别的标注extends Object，这是一个隐式的继承。如果一个类没有明确的指出它的父类，Object类就默认是这个类的父类，extends Object则已经隐含了，不需要写出来。
 *
 * Object是没有成员变量定义的，并且由于子类对象的隐式初始化，Object类有且仅有一个默认提供的无参构造方法。所以我们学习Object类，主要关注它的成员方法。
 *
 * 目前学习这两个方法：
 * public final Class getClass()
 * public String toString()
 * public boolean equals(Object obj)
 * public int hashCode()
 * protected void finalize()
 *      完全没用，在Java9中，该方法被注解@Deprecated标记
 *      表示它是一个被放弃使用的方法，过时的方法
 *      强调：规范的Java代码中，不应该使用过时的方法，除非是老的工程，有非要不可的必要。
 * protected Object clone()：用的不多，但是是一个很独特的方法，是一种全新的不同于new对象的创建对象的方式
 *
 * @since 09:32
 * @author wuguidong@cskaoyan.onaliyun.com
 */
// Class 'Demo' explicitly extends 'java.lang.Object'
public class Demo {
    public static void main(String[] args) {
        test();
    }
    @Deprecated
    public static void test(){}
}
